Conventional testing of hardware equipment units and software modules having inputs and/or outputs has been accomplished through simulations or models of equipment operations or software functions. For example, a software model is created of a hardware unit design to test the functions of the hardware unit. Such tests are used to analyze a design or implementation of the hardware unit in a theoretical operation scenario, relying on the equivalency between the model and the actual operating environment.
Other conventional testing of hardware equipment units and software modules has been implemented to record real-time data or outputs from the units and modules and later analyzed after the real-time operation has been completed. However, such analyses cannot test and analyze real-time operations under actual operating conditions or within the system wherein the hardware unit or software module has been implemented. Conventional tests also cannot recreate in a laboratory all of the actual system parameters and designs in which equipment or software has been implemented.
For example, when testing hardware equipment units on a network, protocols analyzers connect to the communications bus of a packet network and collect and store information relating to the packets that are traveling on the bus. Typical types of information include the origin and type of packet, the number of bits in the frame, a timestamp, the destination address of the packet, and other information. This information is useful for network engineers in determining equipment requirements, the source of network problems, and in supervision and maintenance of a network. A protocol will define precisely the contents of a data unit, typically using a number of fields. Each field has a known offset from either the start of the data unit or the start of the previous field. Offsets may be in bytes, bits, octets, or other units. For example, the specific order of the fields is defined, each field being followed by a specifically defined set of possible fields, each field have a specifically defined value or set of possible values.
Conventional testing systems use microprocessors programmed by software to collect, analyze, and store testing data. However, the conventional testing systems remove a piece of equipment from its actual use in service and attempt to recreate output errors in a laboratory where configurations, inputs, and outputs are different.